'\" t
.\"     Title: ALTER INDEX
.\"    Author: The PostgreSQL Global Development Group
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 2011-12-01
.\"    Manual: PostgreSQL 9.1.2 Documentation
.\"    Source: PostgreSQL 9.1.2
.\"  Language: English
.\"
.TH "ALTER INDEX" "7" "2011-12-01" "PostgreSQL 9.1.2" "PostgreSQL 9.1.2 Documentation"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ALTER_INDEX \- change the definition of an index
.\" ALTER INDEX
.SH "SYNOPSIS"
.sp
.nf
ALTER INDEX \fIname\fR RENAME TO \fInew_name\fR
ALTER INDEX \fIname\fR SET TABLESPACE \fItablespace_name\fR
ALTER INDEX \fIname\fR SET ( \fIstorage_parameter\fR = \fIvalue\fR [, \&.\&.\&. ] )
ALTER INDEX \fIname\fR RESET ( \fIstorage_parameter\fR [, \&.\&.\&. ] )
.fi
.SH "DESCRIPTION"
.PP

ALTER INDEX
changes the definition of an existing index\&. There are several subforms:
.PP
RENAME
.RS 4
The
RENAME
form changes the name of the index\&. There is no effect on the stored data\&.
.RE
.PP
SET TABLESPACE
.RS 4
This form changes the index\*(Aqs tablespace to the specified tablespace and moves the data file(s) associated with the index to the new tablespace\&. See also
CREATE TABLESPACE (\fBCREATE_TABLESPACE\fR(7))\&.
.RE
.PP
SET ( \fIstorage_parameter\fR = \fIvalue\fR [, \&.\&.\&. ] )
.RS 4
This form changes one or more index\-method\-specific storage parameters for the index\&. See
CREATE INDEX (\fBCREATE_INDEX\fR(7))
for details on the available parameters\&. Note that the index contents will not be modified immediately by this command; depending on the parameter you might need to rebuild the index with
\fBREINDEX\fR(7)
to get the desired effects\&.
.RE
.PP
RESET ( \fIstorage_parameter\fR [, \&.\&.\&. ] )
.RS 4
This form resets one or more index\-method\-specific storage parameters to their defaults\&. As with
SET, a
REINDEX
might be needed to update the index entirely\&.
.RE
.SH "PARAMETERS"
.PP
\fIname\fR
.RS 4
The name (possibly schema\-qualified) of an existing index to alter\&.
.RE
.PP
\fInew_name\fR
.RS 4
The new name for the index\&.
.RE
.PP
\fItablespace_name\fR
.RS 4
The tablespace to which the index will be moved\&.
.RE
.PP
\fIstorage_parameter\fR
.RS 4
The name of an index\-method\-specific storage parameter\&.
.RE
.PP
\fIvalue\fR
.RS 4
The new value for an index\-method\-specific storage parameter\&. This might be a number or a word depending on the parameter\&.
.RE
.SH "NOTES"
.PP
These operations are also possible using
ALTER TABLE (\fBALTER_TABLE\fR(7))\&.
ALTER INDEX
is in fact just an alias for the forms of
ALTER TABLE
that apply to indexes\&.
.PP
There was formerly an
ALTER INDEX OWNER
variant, but this is now ignored (with a warning)\&. An index cannot have an owner different from its table\*(Aqs owner\&. Changing the table\*(Aqs owner automatically changes the index as well\&.
.PP
Changing any part of a system catalog index is not permitted\&.
.SH "EXAMPLES"
.PP
To rename an existing index:
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER INDEX distributors RENAME TO suppliers;
.fi
.if n \{\
.RE
.\}
.PP
To move an index to a different tablespace:
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER INDEX distributors SET TABLESPACE fasttablespace;
.fi
.if n \{\
.RE
.\}
.PP
To change an index\*(Aqs fill factor (assuming that the index method supports it):
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER INDEX distributors SET (fillfactor = 75);
REINDEX INDEX distributors;
.fi
.if n \{\
.RE
.\}
.SH "COMPATIBILITY"
.PP

ALTER INDEX
is a
PostgreSQL
extension\&.
.SH "SEE ALSO"
CREATE INDEX (\fBCREATE_INDEX\fR(7)), \fBREINDEX\fR(7)
